package com.xinqi.modules.user.users.user.service;


import com.xinqi.common.base.response.PageInfo;
import com.xinqi.common.base.response.Param;
import com.xinqi.modules.user.user.dto.req.UserExtendCreateDTO;
import com.xinqi.modules.user.user.dto.req.UserExtendDeleteDTO;
import com.xinqi.modules.user.user.dto.req.UserExtendQueryDTO;
import com.xinqi.modules.user.user.dto.req.UserExtendUpdateDTO;
import com.xinqi.modules.user.user.dto.rsp.UserExtendResultDTO;

import java.util.List;

/**
 * 用户扩展信息服务层
 *
 * @author: wenjie
 * @date: 2023/05/17
 */
public interface UserExtendService {

    /**
     * 分页查询 用户扩展信息数据
     */
    PageInfo<UserExtendResultDTO> page(Param pageable, UserExtendQueryDTO query);

    /**
     * 查询 用户扩展信息数据
     */
    List<UserExtendResultDTO> find(UserExtendQueryDTO query);

    /**
     * 根据id查询 用户扩展信息数据
     */
    UserExtendResultDTO findById(Long id);

    /**
     * 新增 用户扩展信息数据
     */
    Long insert(UserExtendCreateDTO dto);

    /**
     * 根据id修改 用户扩展信息数据
     */
    Boolean updateById(UserExtendUpdateDTO dto);

    /**
     * 根据id删除 用户扩展信息数据
     */
    Boolean deleteById(Long id);

    /**
     * 根据id删除 用户扩展信息数据
     */
    Boolean deleteById(UserExtendDeleteDTO dto);

}
